<h1 id="sync">sync</h1>
<p>用于强制被改变的内容立刻写入磁盘</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>sync命令</strong> 用于强制被改变的内容立刻写入磁盘，更新超块信息。</p>
<p>在Linux/Unix系统中，在文件或数据处理过程中一般先放到内存缓冲区中，等到适当的时候再写入磁盘，以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令，系统会自动执行update或bdflush操作，将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时，才需手动执行sync命令。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">sync(选项)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">--help：显示帮助；
 --version：显示版本信息。</code></pre>
<h3 id="buffer与cache">buffer与cache</h3>
<ul>
<li>buffer：为了解决写磁盘的效率</li>
<li>cache：为了解决读磁盘的效率</li>
</ul>
<p>linux系统为了提高读写磁盘的效率，会先将数据放在一块buffer中。在写磁盘时并不是立即将数据写到磁盘中，而是先写入这块buffer中了。此时如果重启系统，就可能造成数据丢失。</p>
<p>sync命令用来flush文件系统buffer，这样数据才会真正的写到磁盘中，并且buffer才能够释放出来，flush就是用来清空buffer。sync命令会强制将数据写入磁盘中，并释放该数据对应的buffer，所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。</p>
<p>如果不去手动的输入sync命令来真正的去写磁盘，linux系统也会周期性的去sync数据。</p>
<!-- Linux命令行搜索引擎：https://jaywcjlove.github.io/linux-command/ -->
